﻿using System;
using System.Data;
using System.Linq;
using ReflectionStudio.Core.Events;
namespace WPFExcelReport
{
    public partial class ITXEXRPT
    {

        private void JLTVKCOST(DataSet db)
        {
            /*公司	货币	RATE	发票号	任务书	产品名称	规格	类型	经密	纬密	客户	记帐日期	发货日期	数量M	数量Y	纬密总数	
             * 经纱用量	经纱单价	纬纱用量	纬纱单价	原料金额	经染	纬染	染色费	整理费	包装运输费	其它	佣金单价	佣金费	海运单价	海运费	空运单价	空运费	
             * 成本合计	销售单价RMB	毛工交	净工交	工资总额	万纬净工交	营销员	是否脱单	是否新品	单价M	发票金额	RMB金额	制造费	期间费用 	备注	ROWNID
ROWNID	MANDANT	INVDAT	DELDAT	INVOICE	VKPAUFKRS	VKPAUFLFD	VKPKOLL	VKPART	VAABEZ	CONSTRUCTION	COLOR	YARN	RATE	FACTORY	
             * WARPDEN	WEFTDEN	MKUNDER	KDKNAME	VKPQTY	TYPE	CURRENCY	PREH	MDELQTY	YDELQTY	WEFTTOT	WARPUSAGE	WARPPRICE	WEFTUSAGE	
             * WEFTPRICE	YARNVALUE	WARPED	WEFTED	DYEVALUE	MCOSTFIN	MCOSTPAKVV	MCOSTFADD	MPRICEAGENT	MCOSTAGENT	MPRICESHIP	MCOSTSHIP	
             * MPRICEFLIGHT	MCOSTFLIGHT	MCOSTADD	MCOSTUNIT	RMBPRICE	MCOSTGROSS	MCOSTNET	COSTTOT	COSTTOTW	STAFF	COMMISSION	NEWART	PRICE	
             * INVVALUE	RMBVALUE	REMARK	PRODVALUE	OTHERSVALUE	NM1	NM2	NM3	NM4	NM5	CHAR1	CHAR2	CHAR3	CHAR4	CHAR5	NEWUSER	NEWTIME	CHGUSER	CHGTIME
*/
            try
            {
                DataTable dtSoruce = db.Tables["ICC_VKCOST"];
                DataTable dtOutput = new DataTable();
                dtOutput.Columns.Add("FACTORY", typeof(System.String));
                dtOutput.Columns.Add("CURRENCY", typeof(System.String));
                dtOutput.Columns.Add("RATE", typeof(System.String));
                dtOutput.Columns.Add("INVOICE", typeof(System.String));
                dtOutput.Columns.Add("VKPART", typeof(System.String));
                dtOutput.Columns.Add("COLOR", typeof(System.String));
                dtOutput.Columns.Add("VAABEZ", typeof(System.String));
                dtOutput.Columns.Add("CONSTRUCTION", typeof(System.String));
                dtOutput.Columns.Add("TYPE", typeof(System.String));
                dtOutput.Columns.Add("WARPDEN", typeof(System.String));
                dtOutput.Columns.Add("WEFTDEN", typeof(System.String));
                dtOutput.Columns.Add("KDKNAME", typeof(System.String));
                dtOutput.Columns.Add("INVDAT", typeof(System.String));
                dtOutput.Columns.Add("DELDAT", typeof(System.String));
                dtOutput.Columns.Add("MDELQTY", typeof(System.String));
                dtOutput.Columns.Add("YDELQTY", typeof(System.String));
                dtOutput.Columns.Add("WEFTTOT", typeof(System.String));
                dtOutput.Columns.Add("WARPUSAGE", typeof(System.String));
                dtOutput.Columns.Add("WARPPRICE", typeof(System.String));
                dtOutput.Columns.Add("WEFTUSAGE", typeof(System.String));
                dtOutput.Columns.Add("WEFTPRICE", typeof(System.String));
                dtOutput.Columns.Add("YARNVALUE", typeof(System.String));
                dtOutput.Columns.Add("WARPED", typeof(System.String));
                dtOutput.Columns.Add("WEFTED", typeof(System.String));
                dtOutput.Columns.Add("DYEVALUE", typeof(System.String));
                dtOutput.Columns.Add("MCOSTFIN", typeof(System.String));
                dtOutput.Columns.Add("MCOSTPAKVV", typeof(System.String));
                dtOutput.Columns.Add("MCOSTFADD", typeof(System.String));
                dtOutput.Columns.Add("MPRICEAGENT", typeof(System.String));
                dtOutput.Columns.Add("MCOSTAGENT", typeof(System.String));
                dtOutput.Columns.Add("MPRICESHIP", typeof(System.String));
                dtOutput.Columns.Add("MCOSTSHIP", typeof(System.String));
                dtOutput.Columns.Add("MPRICEFLIGHT", typeof(System.String));
                dtOutput.Columns.Add("MCOSTFLIGHT", typeof(System.String));
                dtOutput.Columns.Add("MCOSTUNIT", typeof(System.String));
                dtOutput.Columns.Add("RMBPRICE", typeof(System.String));
                dtOutput.Columns.Add("MCOSTGROSS", typeof(System.String));
                dtOutput.Columns.Add("MCOSTNET", typeof(System.String));
                dtOutput.Columns.Add("COSTTOT", typeof(System.String));
                dtOutput.Columns.Add("COSTTOTW", typeof(System.String));
                dtOutput.Columns.Add("STAFF", typeof(System.String));
                dtOutput.Columns.Add("COMMISSION", typeof(System.String));
                dtOutput.Columns.Add("NEWART", typeof(System.String));
                dtOutput.Columns.Add("PRICE", typeof(System.String));
                dtOutput.Columns.Add("INVVALUE", typeof(System.String));
                dtOutput.Columns.Add("RMBVALUE", typeof(System.String));
                dtOutput.Columns.Add("PRODVALUE", typeof(System.String));
                dtOutput.Columns.Add("OTHERSVALUE", typeof(System.String));
                dtOutput.Columns.Add("REMARK", typeof(System.String));
                dtOutput.Columns.Add("ROWNID", typeof(System.String));
                dtOutput.Merge(dtSoruce, false, MissingSchemaAction.Ignore);
                foreach (DataRow row in dtOutput.Rows)
                {
                    row["INVOICE"] = GetGB2312Value(row["INVOICE"].ToString());
                    row["VAABEZ"] = GetGB2312Value(row["VAABEZ"].ToString());
                    row["CONSTRUCTION"] = GetGB2312Value(row["CONSTRUCTION"].ToString());
                    row["KDKNAME"] = GetGB2312Value(row["KDKNAME"].ToString());
                    row["STAFF"] = GetGB2312Value(row["STAFF"].ToString());
                    row["COMMISSION"] = GetGB2312Value(row["COMMISSION"].ToString());
                    row["NEWART"] = GetGB2312Value(row["NEWART"].ToString());
                    row["REMARK"] = GetGB2312Value(row["REMARK"].ToString());
                }
                exAgent.DataTableToExcel(dtOutput, 2, 1);

                int count = dtOutput.Rows.Count;
                exAgent.SetCellValue(1, 1, 1);
                exAgent.BatchConvert2Number(2, 3, count + 1, 3);
                exAgent.BatchConvert2Number(2, 10, count + 1, 11);
                exAgent.BatchConvert2Number(2, 15, count + 1, 40);
                exAgent.BatchConvert2Number(2, 44, count + 1, 48);
                exAgent.SetCellValue(1, 1, "公司");

            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
        }
       }
}